package com.smart.community.region.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 店铺业主关联VO
 * 
 * @author Wu.Liang
 * @version 1.0.0
 * @since 2025-01-30
 */
@Data
@Schema(description = "店铺业主关联VO")
public class ShopOwnerRelationVO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    @Schema(description = "关联ID")
    private Long id;
    
    @Schema(description = "店铺ID")
    private Long shopId;
    
    @Schema(description = "店铺名称")
    private String shopName;
    
    @Schema(description = "业主ID")
    private Long ownerId;
    
    @Schema(description = "业主姓名")
    private String ownerName;
    
    @Schema(description = "业主电话")
    private String ownerPhone;
    
    @Schema(description = "业主类型")
    private Integer ownerType;
    
    @Schema(description = "业主类型名称")
    private String ownerTypeName;
    
    @Schema(description = "企业名称")
    private String companyName;
    
    @Schema(description = "关系类型")
    private Integer relationType;
    
    @Schema(description = "关系类型名称")
    private String relationTypeName;
    
    @Schema(description = "所有权比例")
    private BigDecimal ownershipRatio;
    
    @Schema(description = "租赁开始日期")
    private LocalDate leaseStartDate;
    
    @Schema(description = "租赁结束日期")
    private LocalDate leaseEndDate;
    
    @Schema(description = "租金价格")
    private BigDecimal rentPrice;
    
    @Schema(description = "押金金额")
    private BigDecimal depositAmount;
    
    @Schema(description = "合同编号")
    private String contractNumber;
    
    @Schema(description = "合同文件信息")
    private String contractFile;
    
    @Schema(description = "是否主要联系人")
    private Integer isPrimary;
    
    @Schema(description = "状态")
    private Integer status;
    
    @Schema(description = "状态名称")
    private String statusName;
    
    @Schema(description = "备注")
    private String remark;
    
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
}